Form a ZMK from Three ZMK Components

Command:

Form a ZMK from three encrypted components and return the ZMK encrypted under LMK pair 04-05, and the check value.

Notes:

The HSM must be in the Authorised state.

If a 32-character ZMK is required, the HSM must be configured for double-length ZMKs using the CS (Configure Security) console command.  The encrypted components must be generated using the F or Z console commands.

 

Field

Length  & Type

Details

COMMAND MESSAGE

Message header

m A

(Subsequently returned to the Host unchanged).

Command code

2 A

Value GG.

First ZMK component

16H or 32H

The first ZMK component encrypted under a variant of LMK 04-05.

Second  ZMK component

16H or 32H

The second ZMK component encrypted under a variant of  LMK 04-05.

Third ZMK component

16H or 32H

The third ZMK component encrypted under a variant of LMK 04-05.

Delimiter

1 A

Optional. If present the following three fields must be present.  Value “;”.

If an option is not required by the command fill with a valid value or 0.

Key scheme ZMK

1 A

Optional. If present must be 0.

Key scheme LMK

1 A

Optional. Key scheme for encrypting key under LMK.

Key check value type

1 A

Optional. Key check value calculation method

0 - KCV backwards compatible.

1 - KCV 6H.

End message delimiter

1 C

Optional. Must be present if a message trailer is present. Value X’19.

Message trailer

n A

Optional. Maximum length 32 characters.

 


 

Field

Length  & Type

Details

RESPONSE MESSAGE

Message header

n A

Returned to the Host unchanged.

Response code

2 A

Value GH.

Error code

2 N

00 : No errors

10 : Parity error in first component

11 : Parity error in second / third component

12 : No keys loaded in user storage

13 : LMK error; report to supervisor

15 : Error in input data

17 : Not in the Authorized state

21 : Invalid user storage index

ZMK

16H or 32H or 1A+32H

The ZMK encrypted under LMK pair 04-05.

Key check value

16 H or 6 H

Result of encrypting 64 binary zeroes with the ZMK. 

16H or 6H depends upon KVC type option.

End message delimiter

1 C

Present only if present in the command message. Value X’19.

Message trailer

n A

Present only if present in the command message. Maximum length 32 characters.